<template>
    <div class="app-container">
        <!-- 顶部区域 -->
        <mt-header fixed title="商家名称">
			<span to="/" slot="left" @click="goBack" v-show="flag">
				<mt-button icon="back">返回</mt-button>
			</span>
		</mt-header>

        <!-- 主体变化区域 -->
		<transition>
			<router-view></router-view>
		</transition>

        <!-- 底部区域 -->
        <nav class="mui-bar mui-bar-tab">
			<router-link class="mui-tab-item-my" to="/home">
				<span class="mui-icon mui-icon-home"></span>
				<span class="mui-tab-label">首页</span>
			</router-link>
			<router-link class="mui-tab-item-my" to="/member">
				<span class="mui-icon mui-icon-contact"></span>
				<span class="mui-tab-label">会员</span>
			</router-link>
			<router-link class="mui-tab-item-my" to="/shopcar">
				<span class="mui-icon mui-icon-extra mui-icon-extra-cart"><span class="mui-badge" id="badge">{{ $store.getters.getAllcount }}</span></span>
				<span class="mui-tab-label">购物车</span>
			</router-link>
			<router-link class="mui-tab-item-my" to="/search">
				<span class="mui-icon mui-icon-search"></span>
				<span class="mui-tab-label">搜索</span>
			</router-link>
        </nav>
    </div>
</template>

<script>
export default {
    data(){
		return {
			flag:false    // 是否显示返回按钮的标识
		}
	},
	created(){
		// 由于页面一刷新，watch不会监听到路由地址的改变，所以 flag 为 false，就不显示了，在 生命周期函数中，判断是否显示返回按钮
		var flag = this.$route.path === "/home"?false:true;
		this.flag = flag;
	},
	methods:{
		goBack(){     // 点击返回后退
			// $router 是路由对象，前进后退
			// this.$router.push({path:"/home/goodsinfo/" + id}); 
			this.$router.go(-1);
		}
	},
	watch:{
		// 首页不应该有返回按钮，所以监听路由地址变化，如果等于 /home 的话，就隐藏返回按钮
		"$route.path":function(newval){
			if(newval === "/home"){
				this.flag = false;
			}else{
				this.flag = true;
			}
		}
	}
}
</script>

<style lang="scss" scoped>
.mint-header{
	z-index:99;
}

.app-container{
	padding:40px 0 50px 0;

	// 解决路由切换时出现横向滚动条
	overflow-x: hidden;
}

// 点击过渡动画效果
.v-enter{
	opacity: 0;
	transform: translateX(100%);    // 进来的从 右边 进来
}
.v-leave-to{
	opacity: 0;
	transform: translateX(-100%);   // 离开的从 左边 出去
	// 为了出去的不占位，不会碰撞到要进来的，因为出去的设置了 absolute 脱离了标准流，就不会碰到了
	position: absolute;
}
.v-enter-active,
.v-leave-active{
	transition: all 0.5s ease;
}

// mui 的 滚动组件 和 tabbar 的 mui-tab-item 类估计跟有冲突，这里手动修改 tabbar 的类名及样式复制
.mui-bar-tab .mui-tab-item-my.mui-active {
    color: #007aff;
}
.mui-bar-tab .mui-tab-item-my {
    display: table-cell;
    overflow: hidden;
    width: 1%;
    height: 50px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #929292;
}
.mui-bar-tab .mui-tab-item-my .mui-icon {
    top: 3px;
    width: 24px;
    height: 24px;
    padding-top: 0;
    padding-bottom: 0;
}
.mui-bar-tab .mui-tab-item-my .mui-icon~.mui-tab-label {
    font-size: 11px;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}
</style>